home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / mfd / wm8350 / comparator.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  5.0 KB  |  168 lines

  1. /*
  2.  * comparator.h  --  Comparator Aux ADC for Wolfson WM8350 PMIC
  3.  *
  4.  * Copyright 2007 Wolfson Microelectronics PLC
  5.  *
  6.  *  This program is free software; you can redistribute  it and/or modify it
  7.  *  under  the terms of  the GNU General  Public License as published by the
  8.  *  Free Software Foundation;  either version 2 of the  License, or (at your
  9.  *  option) any later version.
  10.  */
  11.  
  12. #ifndef __LINUX_MFD_WM8350_COMPARATOR_H_
  13. #define __LINUX_MFD_WM8350_COMPARATOR_H_
  14.  
  15. /*
  16.  * Registers
  17.  */
  18.  
  19. #define WM8350_DIGITISER_CONTROL_1              0x90
  20. #define WM8350_DIGITISER_CONTROL_2              0x91
  21. #define WM8350_AUX1_READBACK                    0x98
  22. #define WM8350_AUX2_READBACK                    0x99
  23. #define WM8350_AUX3_READBACK                    0x9A
  24. #define WM8350_AUX4_READBACK                    0x9B
  25. #define WM8350_CHIP_TEMP_READBACK               0x9F
  26. #define WM8350_GENERIC_COMPARATOR_CONTROL       0xA3
  27. #define WM8350_GENERIC_COMPARATOR_1             0xA4
  28. #define WM8350_GENERIC_COMPARATOR_2             0xA5
  29. #define WM8350_GENERIC_COMPARATOR_3             0xA6
  30. #define WM8350_GENERIC_COMPARATOR_4             0xA7
  31.  
  32. /*
  33.  * R144 (0x90) - Digitiser Control (1)
  34.  */
  35. #define WM8350_AUXADC_CTC                       0x4000
  36. #define WM8350_AUXADC_POLL                      0x2000
  37. #define WM8350_AUXADC_HIB_MODE                  0x1000
  38. #define WM8350_AUXADC_SEL8                      0x0080
  39. #define WM8350_AUXADC_SEL7                      0x0040
  40. #define WM8350_AUXADC_SEL6                      0x0020
  41. #define WM8350_AUXADC_SEL5                      0x0010
  42. #define WM8350_AUXADC_SEL4                      0x0008
  43. #define WM8350_AUXADC_SEL3                      0x0004
  44. #define WM8350_AUXADC_SEL2                      0x0002
  45. #define WM8350_AUXADC_SEL1                      0x0001
  46.  
  47. /*
  48.  * R145 (0x91) - Digitiser Control (2)
  49.  */
  50. #define WM8350_AUXADC_MASKMODE_MASK             0x3000
  51. #define WM8350_AUXADC_CRATE_MASK                0x0700
  52. #define WM8350_AUXADC_CAL                       0x0004
  53. #define WM8350_AUX_RBMODE                       0x0002
  54. #define WM8350_AUXADC_WAIT                      0x0001
  55.  
  56. /*
  57.  * R152 (0x98) - AUX1 Readback
  58.  */
  59. #define WM8350_AUXADC_SCALE1_MASK               0x6000
  60. #define WM8350_AUXADC_REF1                      0x1000
  61. #define WM8350_AUXADC_DATA1_MASK                0x0FFF
  62.  
  63. /*
  64.  * R153 (0x99) - AUX2 Readback
  65.  */
  66. #define WM8350_AUXADC_SCALE2_MASK               0x6000
  67. #define WM8350_AUXADC_REF2                      0x1000
  68. #define WM8350_AUXADC_DATA2_MASK                0x0FFF
  69.  
  70. /*
  71.  * R154 (0x9A) - AUX3 Readback
  72.  */
  73. #define WM8350_AUXADC_SCALE3_MASK               0x6000
  74. #define WM8350_AUXADC_REF3                      0x1000
  75. #define WM8350_AUXADC_DATA3_MASK                0x0FFF
  76.  
  77. /*
  78.  * R155 (0x9B) - AUX4 Readback
  79.  */
  80. #define WM8350_AUXADC_SCALE4_MASK               0x6000
  81. #define WM8350_AUXADC_REF4                      0x1000
  82. #define WM8350_AUXADC_DATA4_MASK                0x0FFF
  83.  
  84. /*
  85.  * R156 (0x9C) - USB Voltage Readback
  86.  */
  87. #define WM8350_AUXADC_DATA_USB_MASK             0x0FFF
  88.  
  89. /*
  90.  * R157 (0x9D) - LINE Voltage Readback
  91.  */
  92. #define WM8350_AUXADC_DATA_LINE_MASK            0x0FFF
  93.  
  94. /*
  95.  * R158 (0x9E) - BATT Voltage Readback
  96.  */
  97. #define WM8350_AUXADC_DATA_BATT_MASK            0x0FFF
  98.  
  99. /*
  100.  * R159 (0x9F) - Chip Temp Readback
  101.  */
  102. #define WM8350_AUXADC_DATA_CHIPTEMP_MASK        0x0FFF
  103.  
  104. /*
  105.  * R163 (0xA3) - Generic Comparator Control
  106.  */
  107. #define WM8350_DCMP4_ENA                        0x0008
  108. #define WM8350_DCMP3_ENA                        0x0004
  109. #define WM8350_DCMP2_ENA                        0x0002
  110. #define WM8350_DCMP1_ENA                        0x0001
  111.  
  112. /*
  113.  * R164 (0xA4) - Generic comparator 1
  114.  */
  115. #define WM8350_DCMP1_SRCSEL_MASK                0xE000
  116. #define WM8350_DCMP1_GT                         0x1000
  117. #define WM8350_DCMP1_THR_MASK                   0x0FFF
  118.  
  119. /*
  120.  * R165 (0xA5) - Generic comparator 2
  121.  */
  122. #define WM8350_DCMP2_SRCSEL_MASK                0xE000
  123. #define WM8350_DCMP2_GT                         0x1000
  124. #define WM8350_DCMP2_THR_MASK                   0x0FFF
  125.  
  126. /*
  127.  * R166 (0xA6) - Generic comparator 3
  128.  */
  129. #define WM8350_DCMP3_SRCSEL_MASK                0xE000
  130. #define WM8350_DCMP3_GT                         0x1000
  131. #define WM8350_DCMP3_THR_MASK                   0x0FFF
  132.  
  133. /*
  134.  * R167 (0xA7) - Generic comparator 4
  135.  */
  136. #define WM8350_DCMP4_SRCSEL_MASK                0xE000
  137. #define WM8350_DCMP4_GT                         0x1000
  138. #define WM8350_DCMP4_THR_MASK                   0x0FFF
  139.  
  140. /*
  141.  * Interrupts.
  142.  */
  143. #define WM8350_IRQ_AUXADC_DATARDY        16
  144. #define WM8350_IRQ_AUXADC_DCOMP4        17
  145. #define WM8350_IRQ_AUXADC_DCOMP3        18
  146. #define WM8350_IRQ_AUXADC_DCOMP2        19
  147. #define WM8350_IRQ_AUXADC_DCOMP1        20
  148. #define WM8350_IRQ_SYS_HYST_COMP_FAIL        21
  149. #define WM8350_IRQ_SYS_CHIP_GT115        22
  150. #define WM8350_IRQ_SYS_CHIP_GT140        23
  151.  
  152. /*
  153.  * USB/2, LINE & BATT = ((VRTC * 2) / 4095)) * 10e6 uV
  154.  * Where VRTC = 2.7 V
  155.  */
  156. #define WM8350_AUX_COEFF            1319
  157.  
  158. #define WM8350_AUXADC_AUX1            0
  159. #define WM8350_AUXADC_AUX2            1
  160. #define WM8350_AUXADC_AUX3            2
  161. #define WM8350_AUXADC_AUX4            3
  162. #define WM8350_AUXADC_USB            4
  163. #define WM8350_AUXADC_LINE            5
  164. #define WM8350_AUXADC_BATT            6
  165. #define WM8350_AUXADC_TEMP            7
  166.  
  167. #endif
  168.